var __extends = this.__extends || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    __.prototype = b.prototype;
    d.prototype = new __();
};
// Module
var System;
(function (System) {
    // Class
    var Person = (function () {
        // Constructor
        function Person(firstName, lastName) {
            this.firstName = firstName;
            this.lastName = lastName;
        }
        Object.defineProperty(Person.prototype, "FullName", {
            get: //constructor ( firstName: string, lastName: string, dateOfBirth : Date) {
            //    this.firstName = firstName;
            //    this.lastName = lastName;
            //    this.dateOfBirth = dateOfBirth;
            // }
            // Instance member
            function () {
                return this.firstName + " " + this.lastName;
            },
            enumerable: true,
            configurable: true
        });

        Person.prototype.sayHi = function () {
            return "My name is " + this.FullName;
        };

        Person.prototype.testMethod = function (obj) {
            if (typeof obj === "string") {
                return "Hi, " + this.FullName;
            } else if (obj instanceof Person) {
                var person = obj;
                return "Hi, " + person.FullName;
            }
            return "";
        };

        Person.empty = new Person("", "");
        return Person;
    })();
    System.Person = Person;

    var Employee = (function (_super) {
        __extends(Employee, _super);
        function Employee(firstName, lastName, department) {
            _super.call(this, firstName, lastName);
            this.department = department;
        }
        return Employee;
    })(Person);
})(System || (System = {}));

// Local variables
var p = new System.Person("Hasmukh", "Patel");
var fullname = p.FullName;
var name = p.FullName;
var name2 = p.FullName;
//# sourceMappingURL=Person.js.map
